home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_jvm.h" T0* r126add_comment(T126* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r126make(T126* C,T0* a1,T0* a2){ C->_left_side=a1; C->_right_side=a2; } /*No:REVERSE_ASSIGNMENT.nb_errors*/ T0* r126start_position(T126* C){ T0* R=NULL; R=X662start_position((((T126*)C))->_left_side/*8*/); return R; } T0* r126to_runnable(T126* C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (((((T126*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T126*)C))->_left_side/*8*/,r126current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r126error(X662start_position((((T126*)C))->_left_side/*8*/),((T0*)ms62_470)); } else { C->_left_side=_e; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _e=X662to_runnable((((T126*)C))->_right_side/*12*/,r126current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r126error(X662start_position((((T126*)C))->_right_side/*12*/),((T0*)ms63_470)); } else { C->_right_side=_e; } /*FI*/} /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&(X291is_a(X291run_type(r126right_type(C)),X291run_type(r126left_type(C))))) { /*IF*/if ((!(X662is_current((((T126*)C))->_right_side/*12*/)))&&(!(X291is_like_current(r126left_type(C))))) { r683add_type(r126right_type(C),((T0*)ms12_126)); r683add_type(r126left_type(C),((T0*)ms13_126)); r126warning(r126start_position(C),((T0*)ms14_126)); } /*FI*/} /*FI*//*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (!(X291is_reference(X291run_type(r126left_type(C))))) { r683add_type(X291run_type(r126left_type(C)),((T0*)ms15_126)); r126error(r126start_position(C),((T0*)ms16_126)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T126*n=malloc(sizeof(*n)); *n=M126; r126make(n,(((T126*)C))->_left_side/*8*/,(((T126*)C))->_right_side/*12*/); R=(T0*)n; } R=r126to_runnable(((T126*)R),a1); } /*FI*/return R; } T0* r126right_type(T126* C){ T0* R=NULL; R=X662result_type((((T126*)C))->_right_side/*12*/); return R; } /*No:REVERSE_ASSIGNMENT.left_side*/ T0* r126current_type(T126* C){ T0* R=NULL; /*IF*/if (((((T126*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T126*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:REVERSE_ASSIGNMENT.run_compound*/ void r126compile_to_jvm(T126* C){ T0* _ca=NULL; int _i=0; int _idx=0; int _point1=0; T0* _rc=NULL; T0* _run=NULL; _ca=oBC364code_attribute; /*IF*/if (X291is_expanded(X291run_type(r126right_type(C)))) { r683add_position(r126start_position(C)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms11_126); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_run=(((T355*)((T355*)(X291run_class(r126left_type(C))))))->_running/*12*/; /*IF*/if (((_run)==((void*)(NULL)))||(r396empty(((T396*)_run)))) { X662compile_to_jvm((((T126*)C))->_right_side/*12*/); /*[IRF3.4opcode_pop*/r256opcode(((T256*)_ca),87,-(1)); /*]*/ /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)_ca),1,1); /*]*/ X662jvm_assign((((T126*)C))->_left_side/*8*/); } else { X662compile_to_jvm((((T126*)C))->_right_side/*12*/); /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1); /*]*/ _point1=r256opcode_ifnull(((T256*)_ca)); /*[IRF3.3clear*/((((T226*)(((T226*)(oBC256branches)))))->_upper)=(-(1)); /*]*/ _i=(((T396*)((T396*)_run)))->_upper/*8*/; while (!((_i)==(0))) { /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1); /*]*/ _rc=r396item(((T396*)_run),_i); _idx=r355fully_qualified_constant_pool_index(((T355*)_rc)); r256opcode_instanceof(((T256*)_ca),_idx); r226add_last(((T226*)(oBC256branches)),r256opcode_ifne(((T256*)_ca))); _i=(_i)-(1); } /*[IRF3.4opcode_pop*/r256opcode(((T256*)_ca),87,-(1)); /*]*/ /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)_ca),1,1); /*]*/ r256resolve_u2_branch(_point1); /*[IRF3.2resolve_branches*/r256resolve_with(oBC256branches); /*]*/ X662jvm_assign((((T126*)C))->_left_side/*8*/); } /*FI*/} /*No:REVERSE_ASSIGNMENT.is_pre_computable*/ int r126use_current(T126* C){ int R=0; /*IF*/if (X662use_current((((T126*)C))->_left_side/*8*/)) { R=1; } else { R=X662use_current((((T126*)C))->_right_side/*12*/); } /*FI*/return R; } /*No:REVERSE_ASSIGNMENT.right_side*/ /*No:REVERSE_ASSIGNMENT.fz_blhsoa*/ /*No:REVERSE_ASSIGNMENT.fz_brhsoa*/ void r126error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:REVERSE_ASSIGNMENT.fatal_error*/ /*No:REVERSE_ASSIGNMENT.end_mark_comment*/ void r126afd_check(T126* C){ X662afd_check((((T126*)C))->_right_side/*12*/); } T0* r126left_type(T126* C){ T0* R=NULL; R=X662result_type((((T126*)C))->_left_side/*8*/); return R; } void r126warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:E_INSPECT.else_position*/ T0* r270add_comment(T270* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:E_INSPECT.when_list*/ void r270add_when(T270* C,T0* a1){ /*IF*/if (((((T270*)C))->_when_list/*16*/)==((void*)(NULL))) { {T377*n=malloc(sizeof(*n)); *n=M377; /*[IRF3.3make*/((((T377*)(n)))->_list)=(se_ma147(1,a1)); /*]*/ C->_when_list=(T0*)n; } } else { /*[IRF3.5add_last*/r147add_last(((T147*)((((T377*)((T377*)((((T270*)C))->_when_list/*16*/))))->_list/*4*/)),a1); /*]*/ } /*FI*/} void r270make(T270* C,T0* a1,T0* a2){ C->_start_position=a1; C->_expression=a2; } /*No:E_INSPECT.nb_errors*/ /*No:E_INSPECT.expression*/ void r270set_else_compound(T270* C,T0* a1,T0* a2){ C->_else_position=a1; C->_else_compound=a2; } /*No:E_INSPECT.set_run_compound*/ /*No:E_INSPECT.start_position*/ /*No:E_INSPECT.includes*/ T0* r270to_runnable(T270* C,T0* a1){ T0* R=NULL; T0* _wl=NULL; T0* _te=NULL; T0* _e=NULL; /*IF*/if (((((T270*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T270*)C))->_expression/*12*/,r270current_type(C)); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { C->_expression=_e; _te=X291run_type(X662result_type(_e)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (X291is_character(_te)) { /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { C->_when_list=r377to_runnable_character(((T377*)((((T270*)C))->_when_list/*16*/)),(T0*)C); /*IF*/if (((((T270*)C))->_when_list/*16*/)==((void*)(NULL))) { r270error((((T270*)C))->_start_position/*8*/,((T0*)ms5_270)); } /*FI*/} /*FI*/} else if (X291is_integer(_te)) { /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { C->_when_list=r377to_runnable_integer(((T377*)((((T270*)C))->_when_list/*16*/)),(T0*)C); /*IF*/if (((((T270*)C))->_when_list/*16*/)==((void*)(NULL))) { r270error((((T270*)C))->_start_position/*8*/,((T0*)ms5_270)); } /*FI*/} /*FI*/} else { /*[IRF3.6append*/{T0* b1=((T0*)ms2_270); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(_te,((T0*)ms3_270)); r683add_position((((T270*)C))->_start_position/*8*/); r683print_as_error(((T683*)(oBC364eh))); } /*FI*/} /*FI*//*IF*/if (((((T270*)C))->_else_compound/*24*/)!=((void*)(NULL))) { C->_else_compound=r592to_runnable(((T592*)((((T270*)C))->_else_compound/*24*/)),r270current_type(C)); } /*FI*/R=(T0*)C; } else { R=r270twin(C); {T377*n=malloc(sizeof(*n)); *n=M377; r377from_when_list(n,(((T270*)C))->_when_list/*16*/); _wl=(T0*)n; } /*[IRF3.3set_when_list*/((((T270*)(((T270*)R))))->_when_list)=(_wl); /*]*/ /*[IRF3.3set_run_compound*/((((T270*)(((T270*)R))))->_run_compound)=(NULL); /*]*/ R=r270to_runnable(((T270*)R),a1); } /*FI*/return R; } T0* r270twin(T270* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T270*)R)=*C; return R; } /*No:E_INSPECT.em1*/ /*No:E_INSPECT.else_compound*/ /*No:E_INSPECT.set_when_list*/ T0* r270current_type(T270* C){ T0* R=NULL; /*IF*/if (((((T270*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T270*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:E_INSPECT.run_compound*/ void r270compile_to_jvm(T270* C){ X662compile_to_jvm((((T270*)C))->_expression/*12*/); /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { r377compile_to_jvm(((T377*)((((T270*)C))->_when_list/*16*/)),(((T270*)C))->_else_position/*20*/); } /*FI*//*IF*/if (((((T270*)C))->_else_compound/*24*/)!=((void*)(NULL))) { /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { } /*FI*/r592compile_to_jvm(((T592*)((((T270*)C))->_else_compound/*24*/))); } /*FI*//*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { r377compile_to_jvm_resolve_branch(((T377*)((((T270*)C))->_when_list/*16*/))); } /*FI*//*[IRF3.4opcode_pop*/r256opcode(((T256*)(oBC364code_attribute)),87,-(1)); /*]*/ } /*No:E_INSPECT.is_pre_computable*/ int r270use_current(T270* C){ int R=0; R=(R)||(X662use_current((((T270*)C))->_expression/*12*/)); /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { R=(R)||(r377use_current(((T377*)((((T270*)C))->_when_list/*16*/)))); } /*FI*//*IF*/if (((((T270*)C))->_else_compound/*24*/)!=((void*)(NULL))) { R=(R)||(r592use_current(((T592*)((((T270*)C))->_else_compound/*24*/)))); } /*FI*/return R; } void r270error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:E_INSPECT.end_mark_comment*/ void r270afd_check(T270* C){ X662afd_check((((T270*)C))->_expression/*12*/); /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { r377afd_check(((T377*)((((T270*)C))->_when_list/*16*/))); } /*FI*//*IF*/if (((((T270*)C))->_else_compound/*24*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T270*)C))->_else_compound/*24*/))); } /*FI*/} /*No:ONCE_FUNCTION.arguments*/ T0* r844try_to_undefine(T844* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r844try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T844*)C))->_clients/*24*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:ONCE_FUNCTION.is_deferred*/ /*No:ONCE_FUNCTION.fz_bad_assertion*/ T0* r844runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r844error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:ONCE_FUNCTION.rescue_compound*/ void r844add_into(T844* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:ONCE_FUNCTION.end_comment*/ T0* r844try_to_undefine_aux(T844* C,T0* a1,T0* a2){ T0* R=NULL; {T649*n=malloc(sizeof(*n)); *n=M649; r649from_effective(n,a1,(((T844*)C))->_arguments/*28*/,(((T844*)C))->_result_type/*12*/,(((T844*)C))->_require_assertion/*36*/,(((T844*)C))->_ensure_assertion/*40*/,a2); R=(T0*)n; } return R; } void r844make(T844* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){ r844make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8); C->_result_type=a3; } /*No:ONCE_FUNCTION.not_computed*/ /*No:ONCE_FUNCTION.nb_errors*/ void r844make_routine(T844* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r844make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } /*No:ONCE_FUNCTION.local_vars*/ void r844set_header_comment(T844* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r844start_position(T844* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r844to_run_feature(T844* C,T0* a1,T0* a2){ T0* R=NULL; r844check_obsolete(C); {T868*n=malloc(sizeof(*n)); *n=M868; r868make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:ONCE_FUNCTION.ensure_assertion*/ /*No:ONCE_FUNCTION.code_require*/ T0* r844run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); _r=r844runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r844run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r844runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T567*n=malloc(sizeof(*n)); *n=M567; /*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:ONCE_FUNCTION.result_type*/ /*No:ONCE_FUNCTION.fz_03*/ /*No:ONCE_FUNCTION.em1*/ /*No:ONCE_FUNCTION.obsolete_mark*/ /*No:ONCE_FUNCTION.set_clients*/ /*No:ONCE_FUNCTION.em2*/ /*No:ONCE_FUNCTION.names*/ /*No:ONCE_FUNCTION.require_assertion*/ /*No:ONCE_FUNCTION.use_current_state*/ /*No:ONCE_FUNCTION.code_ensure*/ void r844set_rescue_compound(T844* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r844error(r844start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } int r844can_hide(T844* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T844*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T844*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T844*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T844*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T844*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r844start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:ONCE_FUNCTION.header_comment*/ /*No:ONCE_FUNCTION.routine_body*/ int r844is_merge_with(T844* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T844*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T844*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T844*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T844*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T844*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:ONCE_FUNCTION.fz_dot*/ /*No:ONCE_FUNCTION.set_ensure_assertion*/ /*No:ONCE_FUNCTION.first_name*/ /*No:ONCE_FUNCTION.clients*/ void r844collect_for(T844* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T844*)C))->_require_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T844*)C))->_require_assertion/*36*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T844*)C))->_require_assertion/*36*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T844*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T844*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T844*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r844make_effective_routine(T844* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r844make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1024; } void r844error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:ONCE_FUNCTION.base_class*/ void r844make_e_feature(T844* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r844check_obsolete(T844* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T844*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T844*)C))->_obsolete_mark/*32*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r844warning(r844start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r844warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:RUN_FEATURE_3.arguments*/ /*No:RUN_FEATURE_3.ucs_true*/ void r832routine_mapping_jvm(T832* C){ int _stack_level=0; int _idx=0; T0* _ct=NULL; T0* _rt=NULL; _ct=(((T832*)C))->_current_type/*4*/; r228push_target_as_target(((T228*)(oBC364jvm))); _stack_level=-((1)+(r228push_arguments(((T228*)(oBC364jvm))))); _rt=(((T832*)C))->_result_type/*24*/; /*IF*/if ((_rt)!=((void*)(NULL))) { _stack_level=(_stack_level)+(X291jvm_stack_space(_rt)); } /*FI*/_idx=r95idx_methodref(((T95*)(oBC364constant_pool)),(T0*)C); r355jvm_invoke(((T355*)(X291run_class(_ct))),_idx,_stack_level); } /*No:RUN_FEATURE_3.actuals_clients*/ T0* r832jvm_descriptor(T832* C){ T0* R=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0); /*]*/ /*[IRF3.4update_tmp_jvm_descriptor*/r832routine_update_tmp_jvm_descriptor(C); /*]*/ R=oBC496tmp_jvm_descriptor; return R; } void r832method_info_start(T832* C){ int _flags=0; _flags=X291jvm_method_flags((((T832*)C))->_current_type/*4*/); r506start(((T506*)(oBC364method_info)),_flags,X776to_key((((T832*)C))->_name/*16*/),r832jvm_descriptor(C)); } /*No:RUN_FEATURE_3.ucs_in_computation*/ void r832routine_update_tmp_jvm_descriptor(T832* C){ T0* _rt=NULL; T0* _ct=NULL; r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\50'); _ct=(((T832*)C))->_current_type/*4*/; X291jvm_target_descriptor_in(_ct,oBC496tmp_jvm_descriptor); /*IF*/if (((((T832*)C))->_arguments/*20*/)!=((void*)(NULL))) { r31jvm_descriptor_in(((T31*)((((T832*)C))->_arguments/*20*/)),oBC496tmp_jvm_descriptor); } /*FI*/_rt=(((T832*)C))->_result_type/*24*/; /*IF*/if ((_rt)==((void*)(NULL))) { r7append(((T7*)(oBC496tmp_jvm_descriptor)),((T0*)ms153_470)); } else { _rt=X291run_type(_rt); r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\51'); X291jvm_descriptor_in(_rt,oBC496tmp_jvm_descriptor); } /*FI*/} void r832make(T832* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r832run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r832initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r832std_compute_use_current(T832* C){ /*IF*/if (((((T832*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T832*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T832*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T832*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T832*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T832*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T832*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T832*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T832*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T832*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_3.name*/ int r832arg_count(T832* C){ int R=0; /*IF*/if (((((T832*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T832*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r832routine_afd_check(T832* C){ /*IF*/if (((((T832*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T832*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T832*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T832*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T832*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T832*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_3.local_vars*/ /*No:RUN_FEATURE_3.base_feature*/ /*No:RUN_FEATURE_3.start_position*/ /*No:RUN_FEATURE_3.do_not_inline*/ int r832jvm_max_locals(T832* C){ int R=0; R=X291jvm_stack_space((((T832*)C))->_current_type/*4*/); /*IF*/if (((((T832*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T832*)C))->_arguments/*20*/)))); } /*FI*//*IF*/if (((((T832*)C))->_local_vars/*48*/)!=((void*)(NULL))) { R=(R)+(r620jvm_stack_space(((T620*)((((T832*)C))->_local_vars/*48*/)))); } /*FI*//*IF*/if (((((T832*)C))->_result_type/*24*/)!=((void*)(NULL))) { R=(R)+(X291jvm_stack_space((((T832*)C))->_result_type/*24*/)); } /*FI*/return R; } int r832jvm_result_offset(T832* C){ int R=0; R=X291jvm_stack_space((((T832*)C))->_current_type/*4*/); /*IF*/if (((((T832*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T832*)C))->_arguments/*20*/)))); } /*FI*//*IF*/if (((((T832*)C))->_local_vars/*48*/)!=((void*)(NULL))) { R=(R)+(r620jvm_stack_space(((T620*)((((T832*)C))->_local_vars/*48*/)))); } /*FI*/return R; } /*No:RUN_FEATURE_3.ensure_assertion*/ int r832is_exported_in(T832* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r832clients(C))),a1); return R; } void r832jvm_define_opening(T832* C){ T0* _t=NULL; /*IF*/if (((((T832*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T832*)C))->_result_type/*24*/); X291jvm_initialize_local(_t,r832jvm_result_offset(C)); } /*FI*//*IF*/if (((((T832*)C))->_local_vars/*48*/)!=((void*)(NULL))) { r620jvm_initialize(((T620*)((((T832*)C))->_local_vars/*48*/))); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T832*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_jvm_old(((T633*)((((T832*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (((((T832*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_jvm(((T567*)((((T832*)C))->_require_assertion/*28*/))); } /*FI*/} void r832compute_use_current(T832* C){ /*IF*/if ((X291is_reference((((T832*)C))->_current_type/*4*/))&&(r590no_check(((T590*)(oBC364run_control))))) { C->_use_current_state=1004; } else { r832std_compute_use_current(C); } /*FI*/} /*No:RUN_FEATURE_3.result_type*/ /*No:RUN_FEATURE_3.jvm_field_or_method*/ int r832jvm_argument_offset(T832* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T832*)C))->_current_type/*4*/); R=(R)+(r31jvm_offset_of(((T31*)((((T832*)C))->_arguments/*20*/)),a1)); return R; } /*No:RUN_FEATURE_3.in_line_status*/ /*No:RUN_FEATURE_3.is_static*/ void r832add_client(T832* C,T0* a1){ int _i=0; /*IF*/if (((((T832*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T832*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T832*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T832*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T832*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r832run_class(C))),a1); } /*No:RUN_FEATURE_3.require_assertion*/ /*No:RUN_FEATURE_3.use_current_state*/ /*No:RUN_FEATURE_3.can_be_dropped*/ void r832jvm_define_closing(T832* C){ /*IF*/if (r832use_current(C)) { } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T832*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_jvm(((T633*)((((T832*)C))->_ensure_assertion/*36*/)),1); } /*FI*/} /*FI*//*IF*/if (((((T832*)C))->_result_type/*24*/)!=((void*)(NULL))) { X291jvm_push_local((((T832*)C))->_result_type/*24*/,r832jvm_result_offset(C)); } /*FI*/} /*No:RUN_FEATURE_3.mapping_jvm*/ /*No:RUN_FEATURE_3.current_type*/ T0* r832run_class(T832* C){ T0* R=NULL; R=X291run_class((((T832*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_3.static_value_mem*/ /*No:RUN_FEATURE_3.fz_19*/ /*No:RUN_FEATURE_3.ucs_not_computed*/ void r832fall_down(T832* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T832*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T832*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T832*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_3.routine_body*/ /*No:RUN_FEATURE_3.ucs_false*/ int r832is_pre_computable(T832* C){ int R=0; /*IF*/if (((((T832*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (((((T832*)C))->_routine_body/*32*/)==((void*)(NULL))) { R=1; } else { /*IF*/if (((((T832*)C))->_local_vars/*48*/)==((void*)(NULL))) { R=r592is_pre_computable(((T592*)((((T832*)C))->_routine_body/*32*/))); } /*FI*/} /*FI*/} /*FI*/return R; } T0* r832clients(T832* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T832*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T832*)C))->_current_type/*4*/); _bfbc=(((T297*)((T297*)((((T832*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T297*)((T297*)((((T832*)C))->_base_feature/*44*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T832*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T832*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r832use_current(T832* C){ int R=0; {int z1=(((T832*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; r832compute_use_current(C); R=r832use_current(C); } else {R=1; }} return R; } void r832jvm_define(T832* C){ r832method_info_start(C); r832jvm_define_opening(C); /*IF*/if (((((T832*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592compile_to_jvm(((T592*)((((T832*)C))->_routine_body/*32*/))); } /*FI*/r832jvm_define_closing(C); /*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{int b1=177; r226add_last(((T226*)(oBC256code)),b1); }/*]*/ /*]*/ r506finish(((T506*)(oBC364method_info))); } int r832jvm_local_variable_offset(T832* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T832*)C))->_current_type/*4*/); /*IF*/if (((((T832*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T832*)C))->_arguments/*20*/)))); } /*FI*/R=(R)+(r620jvm_offset_of(((T620*)((((T832*)C))->_local_vars/*48*/)),a1)); return R; } /*No:RUN_FEATURE_3.clients_memory*/ void r832initialize(T832* C){ C->_arguments=(((T297*)((T297*)((((T832*)C))->_base_feature/*44*/))))->_arguments/*28*/; /*IF*/if (((((T832*)C))->_arguments/*20*/)!=((void*)(NULL))) { C->_arguments=r31to_runnable(((T31*)((((T832*)C))->_arguments/*20*/)),(((T832*)C))->_current_type/*4*/); } /*FI*/C->_local_vars=(((T297*)((T297*)((((T832*)C))->_base_feature/*44*/))))->_local_vars/*20*/; /*IF*/if (((((T832*)C))->_local_vars/*48*/)!=((void*)(NULL))) { C->_local_vars=r620to_runnable(((T620*)((((T832*)C))->_local_vars/*48*/)),(((T832*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T297*)((T297*)((((T832*)C))->_base_feature/*44*/))))->_routine_body/*52*/; /*IF*/if (((((T832*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T832*)C))->_routine_body/*32*/)),(((T832*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r297run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r297run_ensure((T0*)C); } /*FI*/} /*No:RUN_FEATURE_3.afd_check*/ /*No:RUN_FEATURE_3.update_tmp_jvm_descriptor*/ T0* r530add_comment(T530* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:IFTHENELSE.static_false*/ /*No:IFTHENELSE.make*/ /*No:IFTHENELSE.nb_errors*/ /*No:IFTHENELSE.set_else_compound*/ /*No:IFTHENELSE.static_true*/ /*No:IFTHENELSE.start_position*/ T0* r530to_runnable(T530* C,T0* a1){ T0* R=NULL; T0* _ec=NULL; T0* _itl=NULL; int _ne=0; _ne=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; /*IF*/if (((((T530*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _itl=r712to_runnable(((T712*)((((T530*)C))->_ifthenlist/*12*/)),a1); /*IF*/if ((_itl)==((void*)(NULL))) { } else { C->_ifthenlist=_itl; } /*FI*//*IF*/if ((((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_ne))==(0))&&(((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL)))) { _ec=r592to_runnable(((T592*)((((T530*)C))->_else_compound/*16*/)),r530current_type(C)); /*IF*/if ((_ec)==((void*)(NULL))) { } else { C->_else_compound=_ec; } /*FI*/} /*FI*//*IF*/if ((_itl)!=((void*)(NULL))) { R=(T0*)C; } /*FI*/} else { R=r530to_runnable(((T530*)(r530twin(C))),a1); } /*FI*/return R; } T0* r530twin(T530* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T530*)R)=M530; r530copy(((T530*)R),((T0*)C)); return R; } /*No:IFTHENELSE.ifthenlist*/ /*No:IFTHENELSE.else_compound*/ void r530copy(T530* C,T0* a1){ C->_start_position=(((T530*)((T530*)a1)))->_start_position/*8*/; C->_ifthenlist=(((T530*)((T530*)a1)))->_ifthenlist/*12*/; C->_else_compound=(((T530*)((T530*)a1)))->_else_compound/*16*/; } T0* r530current_type(T530* C){ T0* R=NULL; /*IF*/if (((((T530*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T530*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:IFTHENELSE.run_compound*/ /*No:IFTHENELSE.non_static*/ void r530compile_to_jvm(T530* C){ int _static_value=0; _static_value=r712compile_to_jvm(((T712*)((((T530*)C))->_ifthenlist/*12*/))); {int z1=_static_value; if((1020==z1)){ /*IF*/if (((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL))) { r592compile_to_jvm(((T592*)((((T530*)C))->_else_compound/*16*/))); } /*FI*/} else if((1019==z1)){ r712compile_to_jvm_resolve_branch(((T712*)((((T530*)C))->_ifthenlist/*12*/))); } else {/*IF*/if (((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL))) { r592compile_to_jvm(((T592*)((((T530*)C))->_else_compound/*16*/))); } /*FI*/r712compile_to_jvm_resolve_branch(((T712*)((((T530*)C))->_ifthenlist/*12*/))); }} } /*No:IFTHENELSE.is_pre_computable*/ int r530use_current(T530* C){ int R=0; /*IF*/if (r712use_current(((T712*)((((T530*)C))->_ifthenlist/*12*/)))) { R=1; } else if (((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL))) { R=r592use_current(((T592*)((((T530*)C))->_else_compound/*16*/))); } /*FI*/return R; } void r530add_if_then(T530* C,T0* a1,T0* a2){ T0* _ifthen=NULL; {T809*n=malloc(sizeof(*n)); *n=M809; r809make(n,a1,a2); _ifthen=(T0*)n; } /*IF*/if (((((T530*)C))->_ifthenlist/*12*/)==((void*)(NULL))) { {T712*n=malloc(sizeof(*n)); *n=M712; /*[IRF3.3make*/((((T712*)(n)))->_list)=(se_ma948(1,_ifthen)); /*]*/ C->_ifthenlist=(T0*)n; } } else { /*[IRF3.5add_last*/r948add_last(((T948*)((((T712*)((T712*)((((T530*)C))->_ifthenlist/*12*/))))->_list/*0*/)),_ifthen); /*]*/ } /*FI*/} /*No:IFTHENELSE.end_mark_comment*/ void r530afd_check(T530* C){ r712afd_check(((T712*)((((T530*)C))->_ifthenlist/*12*/))); /*IF*/if (((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T530*)C))->_else_compound/*16*/))); } /*FI*/} /*No:EXTERNAL_PROCEDURE.arguments*/ T0* r883try_to_undefine(T883* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r883try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T883*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:EXTERNAL_PROCEDURE.is_deferred*/ /*No:EXTERNAL_PROCEDURE.fz_bad_assertion*/ T0* r883runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r883error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:EXTERNAL_PROCEDURE.rescue_compound*/ void r883add_into(T883* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:EXTERNAL_PROCEDURE.end_comment*/ T0* r883try_to_undefine_aux(T883* C,T0* a1,T0* a2){ T0* R=NULL; {T853*n=malloc(sizeof(*n)); *n=M853; r853from_effective(n,a1,(((T883*)C))->_arguments/*24*/,(((T883*)C))->_require_assertion/*32*/,(((T883*)C))->_ensure_assertion/*36*/,a2); R=(T0*)n; } return R; } void r883make(T883* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r883make_routine(C,a1,a2,a3,a4,a5); r883make_external_routine(C,a6,a7); } /*No:EXTERNAL_PROCEDURE.nb_errors*/ /*No:EXTERNAL_PROCEDURE.native*/ void r883make_routine(T883* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r883make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } void r883set_header_comment(T883* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r883start_position(T883* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r883to_run_feature(T883* C,T0* a1,T0* a2){ T0* R=NULL; r883check_obsolete(C); {T906*n=malloc(sizeof(*n)); *n=M906; r906make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:EXTERNAL_PROCEDURE.alias_string*/ /*No:EXTERNAL_PROCEDURE.ensure_assertion*/ /*No:EXTERNAL_PROCEDURE.code_require*/ T0* r883run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); _r=r883runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r883run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r883runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T567*n=malloc(sizeof(*n)); *n=M567; /*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:EXTERNAL_PROCEDURE.result_type*/ /*No:EXTERNAL_PROCEDURE.fz_03*/ /*No:EXTERNAL_PROCEDURE.em1*/ /*No:EXTERNAL_PROCEDURE.obsolete_mark*/ /*No:EXTERNAL_PROCEDURE.set_clients*/ /*No:EXTERNAL_PROCEDURE.em2*/ /*No:EXTERNAL_PROCEDURE.names*/ /*No:EXTERNAL_PROCEDURE.require_assertion*/ /*No:EXTERNAL_PROCEDURE.code_ensure*/ void r883set_rescue_compound(T883* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r883error(r883start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } void r883make_external_routine(T883* C,T0* a1,T0* a2){ C->_native=a1; C->_alias_string=a2; } int r883can_hide(T883* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T883*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T883*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T883*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T883*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T883*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r883start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:EXTERNAL_PROCEDURE.header_comment*/ int r883is_merge_with(T883* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T883*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T883*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T883*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T883*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T883*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:EXTERNAL_PROCEDURE.fz_dot*/ /*No:EXTERNAL_PROCEDURE.set_ensure_assertion*/ /*No:EXTERNAL_PROCEDURE.first_name*/ /*No:EXTERNAL_PROCEDURE.clients*/ int r883use_current(T883* C){ int R=0; R=X845use_current((((T883*)C))->_native/*48*/,(T0*)C); return R; } void r883collect_for(T883* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T883*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T883*)C))->_require_assertion/*32*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T883*)C))->_require_assertion/*32*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T883*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T883*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T883*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r883error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:EXTERNAL_PROCEDURE.base_class*/ void r883make_e_feature(T883* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r883check_obsolete(T883* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T883*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T883*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r883warning(r883start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r883warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:GC_HANDLER.make*/ /*No:GC_HANDLER.is_on*/ /*No:TMP_NAME.li*/ /*No:TMP_NAME.co*/ /*No:TMP_NAME.fz_inherit*/ int r511isa_keyword(void){ int R=0; char _c=0; _c=r3to_lower(/*(IRF4.6item*/((((T7*)((T7*)(oBC511tmp_string))))->_storage/*0*/)[(1)-(1)]/*)*/); {int z1=_c; if((97==z1)){ R=r511look_in(oBC511keyword_a); } else if((99==z1)){ R=r511look_in(oBC511keyword_c); } else if((100==z1)){ R=r511look_in(oBC511keyword_d); } else if((101==z1)){ R=r511look_in(oBC511keyword_e); } else if((102==z1)){ R=r511look_in(oBC511keyword_f); } else if((105==z1)){ R=r511look_in(oBC511keyword_i); } else if((108==z1)){ R=r511look_in(oBC511keyword_l); } else if((111==z1)){ R=r511look_in(oBC511keyword_o); } else if((112==z1)){ R=r7same_as(((T7*)(((T0*)ms37_470))),oBC511tmp_string); } else if((114==z1)){ R=r511look_in(oBC511keyword_r); } else if((115==z1)){ R=r511look_in(oBC511keyword_s); } else if((116==z1)){ R=r511look_in(oBC511keyword_t); } else if((117==z1)){ R=r511look_in(oBC511keyword_u); } else if((118==z1)){ R=r7same_as(((T7*)(((T0*)ms51_470))),oBC511tmp_string); } else if((119==z1)){ R=r7same_as(((T7*)(((T0*)ms52_470))),oBC511tmp_string); } else if((120==z1)){ R=r7same_as(((T7*)(((T0*)ms50_473))),oBC511tmp_string); } } return R; } /*No:TMP_NAME.fz_select*/ /*No:TMP_NAME.fz_creation*/ T0*oBC511keyword_s=NULL; T0*oBC511keyword_c=NULL; /*No:TMP_NAME.fz_old*/ T0* r511to_e_result(T511* C){ T0* R=NULL; {T715*n=malloc(sizeof(*n)); *n=M715; r715make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } T0* r511to_local_name1(T511* C){ T0* R=NULL; {T39*n=malloc(sizeof(*n)); *n=M39; r39make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string); R=(T0*)n; } return R; } T0* r511to_e_current(T511* C){ T0* R=NULL; {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),1); R=(T0*)n; } return R; } /*No:TMP_NAME.extend*/ /*No:TMP_NAME.fz_separate*/ /*No:TMP_NAME.fz_deferred*/ T0*oBC511keyword_t=NULL; T0*oBC511keyword_d=NULL; /*No:TMP_NAME.fz_else*/ /*No:TMP_NAME.fz_end*/ T0* r511to_e_void(T511* C){ T0* R=NULL; {T796*n=malloc(sizeof(*n)); *n=M796; r796make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } int r511is_current(void){ int R=0; /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(7)) { R=r7same_as(((T7*)(((T0*)ms143_473))),oBC511tmp_string); } /*FI*/return R; } T0*oBC511keyword_u=NULL; T0*oBC511keyword_e=NULL; /*No:TMP_NAME.us_and*/ T0* r511to_local_name2(T511* C,T0* a1,int a2){ T0* R=NULL; {T23*n=malloc(sizeof(*n)); *n=M23; r23refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2); R=(T0*)n; } return R; } T0* r511to_argument_name1(T511* C){ T0* R=NULL; {T873*n=malloc(sizeof(*n)); *n=M873; r873make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string); R=(T0*)n; } return R; } T0*oBC511keyword_f=NULL; /*No:TMP_NAME.make*/ /*No:TMP_NAME.us_current*/ /*No:TMP_NAME.fz_rescue*/ T0* r511to_string(T511* C){ T0* R=NULL; /*IF*/if (((((T511*)C))->_unique_string_memory/*0*/)==((void*)(NULL))) { R=r902item(oBC511tmp_string); C->_unique_string_memory=R; } else { R=(((T511*)C))->_unique_string_memory/*0*/; } /*FI*/return R; } T0* r511to_class_name(T511* C){ T0* R=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } T0* r511to_tag_name(T511* C){ T0* R=NULL; {T490*n=malloc(sizeof(*n)); *n=M490; r490make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } /*No:TMP_NAME.unique_string_memory*/ T0* r511to_argument_name2(T511* C,T0* a1,int a2){ T0* R=NULL; {T886*n=malloc(sizeof(*n)); *n=M886; r886refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2); R=(T0*)n; } return R; } /*No:TMP_NAME.fz_external*/ T0* r511start_position(T511* C){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/); R=(T0*)n; } return R; } /*No:TMP_NAME.fz_prefix*/ /*No:TMP_NAME.fz_export*/ /*No:TMP_NAME.fz_all*/ /*No:TMP_NAME.fz_invariant*/ /*No:TMP_NAME.fz_feature*/ /*No:TMP_NAME.fz_true*/ T0* r511to_infix_name_use(T511* C){ T0* R=NULL; {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } /*No:TMP_NAME.fz_if*/ T0*oBC511keyword_i=NULL; /*No:TMP_NAME.fz_inspect*/ /*No:TMP_NAME.fz_alias*/ /*No:TMP_NAME.fz_debug*/ int r511is_result(void){ int R=0; /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(6)) { R=r7same_as(((T7*)(((T0*)ms146_473))),oBC511tmp_string); } /*FI*/return R; } /*No:TMP_NAME.fz_rename*/ /*No:TMP_NAME.fz_from*/ /*No:TMP_NAME.fz_unique*/ /*No:TMP_NAME.fz_once*/ /*No:TMP_NAME.fz_loop*/ /*No:TMP_NAME.fz_do*/ /*No:TMP_NAME.us_result*/ /*No:TMP_NAME.us_implies*/ T0*oBC511tmp_string=NULL; T0*oBC511keyword_l=NULL; /*No:TMP_NAME.fz_obsolete*/ /*No:TMP_NAME.fz_as*/ /*No:TMP_NAME.fz_false*/ /*No:TMP_NAME.fz_elseif*/ T0* r511to_infix_name(T0* a1){ T0* R=NULL; {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,oBC511tmp_string,a1); R=(T0*)n; } return R; } T0* r511to_prefix_name(T511* C){ T0* R=NULL; {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } T0* r511pos(int a1,int a2){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,a1,a2); R=(T0*)n; } return R; } /*No:TMP_NAME.fz_variant*/ /*No:TMP_NAME.fz_redefine*/ /*No:TMP_NAME.fz_like*/ int r511is_void(void){ int R=0; /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(4)) { R=r7same_as(((T7*)(((T0*)ms147_473))),oBC511tmp_string); } /*FI*/return R; } /*No:TMP_NAME.us_xor*/ /*No:TMP_NAME.fz_frozen*/ /*No:TMP_NAME.fz_undefine*/ T0*oBC511keyword_o=NULL; T0* r511to_simple_feature_name(T511* C){ T0* R=NULL; {T446*n=malloc(sizeof(*n)); *n=M446; r446make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/)); R=(T0*)n; } return R; } /*No:TMP_NAME.fz_is*/ /*No:TMP_NAME.fz_ensure*/ int r511look_in(T0* a1){ int R=0; int _i=0; _i=(((T52*)((T52*)a1)))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r7same_as(((T7*)(r52item(((T52*)a1),_i))),oBC511tmp_string); _i=(_i)-(1); } return R; } /*No:TMP_NAME.us_void*/ /*No:TMP_NAME.fz_local*/ /*No:TMP_NAME.fz_indexing*/ /*No:TMP_NAME.fz_require*/ /*No:TMP_NAME.count*/ /*No:TMP_NAME.fz_when*/ /*No:TMP_NAME.fz_then*/ /*No:TMP_NAME.fz_until*/ T0*oBC511keyword_a=NULL; /*No:TMP_NAME.fz_check*/ void r511initialize(T511* C,int a1,int a2){ C->_li=a1; C->_co=a2; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC511tmp_string)))))->_count)=(0); /*]*/ C->_unique_string_memory=NULL; } /*No:TMP_NAME.fz_expanded*/ T0*oBC511keyword_r=NULL; /*No:TMP_NAME.fz_infix*/ /*No:TMP_NAME.fz_class*/ /*No:TMP_NAME.us_or*/ /*No:TMP_NAME.fz_retry*/ /*No:TMP_NAME.fz_strip*/ T0*oBC95cp=NULL; int r95idx_methodref1(T95* C,int a1,T0* a2,T0* a3){ int R=0; int _nt=0; _nt=r95idx_name_and_type2(C,a2,a3); R=r95idx_methodref2(C,a1,_nt); return R; } int r95idx_uft8(T95* C,T0* a1){ int R=0; R=(((T95*)C))->_cp_up/*0*/; while (!(((R)==(0))||(r378is_uft8_idx(((T378*)(/*(IRF4.6item*/((((T515*)((T515*)(oBC95cp))))->_storage/*0*/)[R]/*)*/)),a1)))) { R=(R)-(1); } /*IF*/if ((R)==(0)) { r95string_to_uft8(a1,oBC95tmp_info); r378set_uft8(((T378*)(r95add_last(C))),oBC95tmp_info); R=(((T95*)C))->_cp_up/*0*/; } /*FI*/return R; } /*No:CONSTANT_POOL.tmp_info_append_u2*/ int r95idx_eiffel_string_storage_fieldref(T95* C){ int R=0; int _idx=0; _idx=r95idx_name_and_type2(C,((T0*)ms130_473),((T0*)ms163_470)); R=r95idx_fieldref2(C,r95idx_eiffel_string_class(C),_idx); return R; } /*No:CONSTANT_POOL.us_generator*/ int r95idx_name_and_type1(T95* C,T0* a1,int a2){ int R=0; int _n=0; _n=r95idx_uft8(C,a1); R=r95idx_name_and_type3(C,_n,a2); return R; } int r95idx_fieldref_generating_type(T95* C,int a1){ int R=0; int _nt=0; int _idx=0; _idx=r95idx_eiffel_string_descriptor(C); _nt=r95idx_name_and_type1(C,((T0*)ms78_473),_idx); R=r95idx_fieldref2(C,a1,_nt); return R; } int fBC95jvm_string_class=0; T0*oBC95jvm_string_class=NULL; T0* r95jvm_string_class(void){ if (fBC95jvm_string_class==0){ T0* R=NULL; fBC95jvm_string_class=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7append(((T7*)R),(((T228*)((T228*)(oBC364jvm))))->_output_name/*16*/); r7extend(((T7*)R),'\57'); r7append(((T7*)R),((T0*)ms156_470)); oBC95jvm_string_class=R;} return oBC95jvm_string_class;} int fBC95jvm_string_descriptor=0; T0*oBC95jvm_string_descriptor=NULL; T0* r95jvm_string_descriptor(void){ if (fBC95jvm_string_descriptor==0){ T0* R=NULL; fBC95jvm_string_descriptor=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7extend(((T7*)R),'L'); r7append(((T7*)R),r95jvm_string_class()); r7extend(((T7*)R),'\73'); oBC95jvm_string_descriptor=R;} return oBC95jvm_string_descriptor;} T0*oBC95tmp_uft8=NULL; int r95idx_methodref2(T95* C,int a1,int a2){ int R=0; R=(((T95*)C))->_cp_up/*0*/; while (!(((R)==(0))||(r378is_methodref_idx(((T378*)(/*(IRF4.6item*/((((T515*)((T515*)(oBC95cp))))->_storage/*0*/)[R]/*)*/)),a1,a2)))) { R=(R)-(1); } /*IF*/if ((R)==(0)) { /*[IRF3.3clear*/((((T7*)(((T7*)(oBC95tmp_info)))))->_count)=(0); /*]*/ /*[IRF3.6tmp_info_append_u2*/{int b1=a1; r95append_u2(oBC95tmp_info,b1); }/*]*/ /*[IRF3.6tmp_info_append_u2*/{int b1=a2; r95append_u2(oBC95tmp_info,b1); }/*]*/ r378set_methodref(((T378*)(r95add_last(C))),oBC95tmp_info); R=(((T95*)C))->_cp_up/*0*/; } /*FI*/return R; } /*No:CONSTANT_POOL.append_u1*/ int r95idx_name_and_type(T95* C,T0* a1){ int R=0; R=r95idx_name_and_type2(C,X776to_key(/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)),X496jvm_descriptor(a1)); return R; } int r95idx_fieldref_for_manifest_string(T95* C,T0* a1){ int R=0; int _nt=0; int _c=0; _c=r95idx_class2(C,r95jvm_root_class()); _nt=r95idx_name_and_type2(C,a1,r95jvm_string_descriptor()); R=r95idx_fieldref2(C,_c,_nt); return R; }